# docker build --no-cache  multitasking .
FROM nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 

RUN apt-get update \
        && apt-get install -y --no-install-recommends \
            git \
            ssh \
            build-essential \
            locales \
            ca-certificates \
            curl \
            unzip

RUN curl -o ~/miniconda.sh -O  https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh  && \
     chmod +x ~/miniconda.sh && \
     ~/miniconda.sh -b -p /opt/conda && \     
     rm ~/miniconda.sh && \
     /opt/conda/bin/conda install conda-build python=3.6.3 numpy pyyaml mkl&& \
     /opt/conda/bin/conda clean -ya 
ENV PATH /opt/conda/bin:$PATH

# Default to utf-8 encodings in python
# Can verify in container with:
# python -c 'import locale; print(locale.getpreferredencoding(False))'
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8

RUN conda install -c pytorch pytorch=0.3 cuda90

# Revtok
RUN pip install -e git+https://github.com/jekbradbury/revtok.git#egg=revtok

# torchtext requirements
RUN pip install tqdm 
RUN pip install nltk==3.2.5

# tensorboard
RUN pip install tensorboardX
RUN pip install tensorboard
RUN pip install tensorflow
RUN pip install python-dateutil

# additional python packages
RUN pip install ujson
RUN pip install -e git+git://github.com/andersjo/pyrouge.git#egg=pyrouge
RUN cd /src/pyrouge/pyrouge/../tools/ROUGE-1.5.5/data/ && rm WordNet-2.0.exc.db && ./WordNet-2.0-Exceptions/buildExeptionDB.pl ./WordNet-2.0-Exceptions ./smart_common_words.txt ./WordNet-2.0.exc.db && chmod 777 WordNet-2.0.exc.db
#RUN pip install lxml
RUN pip install sacrebleu

# Install packages for XML processing
RUN apt-get install --yes \
  expat \
  libexpat-dev \
  libxml2-dev \
  libxslt1-dev \
  libgdbm-dev \ 
  libxml-libxslt-perl \
  libxml-libxml-perl \
  python-lxml

CMD bash 
